웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdevetc

[WSL2] docker desktop memory 설정 방법

Last Modified : 2022-10-13 / Created : 2022-10-13
5,969
View Count
윈도우즈 WSL 2를 사용하면서 도커 데스크탑(Docker desktop)을 사용해 로컬 개발 환경을 구축하여 사용하고 있습니다. 그런데 큰 문제가 발생습니다... 도커 사용 이 후부터 컴퓨터가 너무 심하게 느려졌기 때문이죠... 중간 중간 멈추는 현상이 발생했습니다.

Docker Desktop 설치 이 후부터 발생했기 때문에 분명 도커 설정쪽을 확인해야할 필요가 있었습니다. 가장 먼저 Docker Desckop의 환경설정에서 메모리 설정을 확인해봤습니다. 그런데 WSL 2(윈도우 하위 리눅스)를 사용하는 경우 해당 설정을 도커 데스크탑 앱이 아닌 .wslconfig 파일에서 설정 및 확인해야만 합니다. 즉 Docker 메모리 설정을 하려면 WSL의 메모리 설정을 해야된다는 얘기입니다.

가장 먼저 WSL에 설정된 메모리 크기를 확인해봤습니다. wsl에 접속해 아래 명령어를 사용하면 현재 설정된 메모리 크기를 알 수 있습니다.
> free -h --giga

확인해보니 전체 64GB 메모리에서 50GB이상이 WSL에 설정되 있더군요 ~ 이런 이유 때문에 도커에 설정된 메모리 크기가 너무 커 멈추는 순단 현상이 발생한 것으로 확인할 수 있습니다. 즉 WSL 메모리 크기를 줄이면 속도 저하 문제를 해결할 수 있을 것으로 예상했습니다. 이제 다음 단계로 넘어갑니다.



# 도커를 위해서 WSL 2 메모리 설정하기


도커 메모리 이슈를 해결하기 위해서 WSL 메모리 크기를 변경하려고 합니다. 64GB 중 WSL에는 8GB를 설정하면 충분 할 것 같다고 판단했습니다.

가장 먼저 변경을 위해서 PowerShell을 실행하여 .wslconfig 파일을 수정하도록 합니다.

@ .wslconfig 파일 수정하기
메모리 설정은 .wslconfig 파일에 있습니다. 해당 위치는 Users(사용자) 경로의 { username } 경로에 위치해있습니다. 일단 해당 경로로 이동합니다.
C:\> cd c:\Users\username

다음으로 .wslconfig 파일을 변경합니다. 만약 없다면 파일 생성 후 수정해야하겠습니다. 제 경우 파일이 없어서 새로 생성 및 아래와 같이 메모리 설정을 완료했습니다.
C:\Users\{ username }> copy con .wslconfig

[wsl2]
memory=8GB

다 입력했으면 Ctrl + Z 키를 눌러서 저장합니다. 이제 파일이 생성되었으니 재시작 후 속도 문제가 해결되었는지 확인만 남았습니다. 재시작을 위해서 wsl을 셧다운합니다.
C:\> wsl --shutdown

재시작 후 wsl을 다시 시작했습니다. wsl을 재시작하면 현재 사용중인 Docker Desktop 역시 자동으로 재시작될 것입니다. 만약 안된다면 다시 시작해주세요. 이제 WSL에 메모리가 변경되었는지 확인이 필요하므로 free 명령어를 다시 실행합니다.
> free -h --giga

// 출력결과
total   used   free   shared   buff/cache   available
8G    600M    7G        0.0k         600M            7G

확인해보니 전체 8GB로 메모리 설정이 줄어든 것을 확인할 수 있습니다.


여기까지 모든 과정은 끝났습니다. 위 설정이 끝나면 예상처럼 중간 중간 느려지고 멈추는 현상이 완전히 사라졌습니다. 재시작도 빨라지고 더 이상 속도 문제는 나타나지 않았습니다.

Docker Desktop을 위한 WSL 메모리 설정 방법을 간략하게 알아보았습니다.

Previous

[스타일 가이드] intellij, webstorm 자바스크립트 prettier 설정 방법

Previous

[WSL] 윈도우 하위 리눅스 재부팅, 재시작 방법